As is well known, a computer network such as a LAN comprises a plurality of end stations, such as computers, file servers and printers. To enable the end stations to communicate with each other a shared communication medium is provided typically by connecting the end stations to ports on communication nodes. Communications are sent across the network by way of packets, which each comprise at least the destination address of the packet, its source address, the data which is desired to be communicated and some additional data enabling an error check to be made at the destination to determine if the packet has been corrupted during transmission. When an end station wishes to send a communication packet, it determines whether the communication medium to which it is connected is currently busy and, if not, it transmits its packet. The communications packet is therefore received by a communication node which retransmits the packet to one or more of its other ports according to the construction of the node.
Various types of communication node are known, in particular we will mention here a repeater and a bridge. In simple terms, a repeater simply retransmits a packet received on any one port to each of its other ports. This ensures that any packet put onto any portion of the communication medium to which the repeater is connected appears on the rest of the communication medium. In this way, the transmitted packet is received by all of the other end stations, including the intended destination.
One particular type of bridge is known from U.S. Pat. No. 5,161,192 (Carter et al). This repeater provides a security function of assessing if each communication passing through it is "permitted", and corrupting the communication during retransmission if it is not permitted.
Another type of communications node is known as a bridge. On receiving a communications packet on one of its ports, a bridge determines the intended destination of the packet and retransmits it only on the port or ports necessary to ensure that the packet in question reaches its intended destination or destinations. The use of a bridge instead of a repeater therefore ensures that portions of the communications medium which are not required for a particular transmission do not receive that transmission and therefore reduces network congestion on such portions and traffic load on end-stations on those portions. Also, a bridge enables more than one transmission to occur at any one time, thereby improving network bandwidth. However, a bridge is disadvantageous compared to a repeater in that it has a higher latency, that is it does not retransmit received communications as quickly as does a repeater, and also, due to its increased complexity and required processing power, it is considerably more expensive for a device providing comparable transmission speeds.
By way of example, the cost of a bridge which can handle communications at speeds of 10 mbps (mega-bits per second) is broadly the same as the cost of a repeater which can handle communications at speeds of 100 mbps. This is because, as mentioned, the bridge must have additional processing power in order to perform its function, and also it is the case that the internal bus in a 10 mbps bridge may in fact have to be capable of handling communications at a rate at least ten times higher than this in order to cope with the potential multiplicity of communications occurring at the same time through a bridge In many network situations it is in fact more efficient to connect all of the end stations together simply using repeaters operating at high speeds as opposed to using bridges which may be operating at lower speeds. This is because the whole band width provided by the high speed repeaters is then available to be divided between however many communications are occurring, thus maximising the bandwidth for each communication.
An end station is typically connected to a network via a media access control (MAC) device which handles the interface onto the network One of the functions of the MAC device is to assess whether, on receipt of a communications packet, it has been corrupted during transmission from its source. In many implementations, if the packet has been corrupted then the MAC device simply ignores the received packet and does not pass it to its end station.
There are a number of types of communication which may occur in a computer network as described above. Firstly, the simplest form of communication is a unicast communication, which is a communication sent out by one end station and intended to be received by only one end station Therefore the destination address in this communication packet will uniquely identify the desired destination end station and will be recognised and received by the MAC device of that end station. Due to the action of the repeaters in a network, the unicast communications packet will also be received by a number of other end stations for which the communication is not intended ("non-intended destinations"). The MAC device of such a non-intended destination will recognise that the packet in question is a unicast communication which is not intended for itself and will therefore ignore the packet and in particular will not pass it to its end station. In this way, unicast communications are processed only by the end Station for which they are intended.
Secondly, there are broadcast communications, which are sent out by a single end station but which are intended to be received by every other end station connected to the network. On receiving such a communication, a MAC device will assuming the packet has been received not corrupted, pass the packet on for processing by its end station.
Thirdly, there are communications known as multicast communications. These are communications sent out by a particular end station and are intended to be received by a selected plurality of other end stations. On receiving a multicast packet, a MAC device in many implementations cannot itself be determine whether it is an intended destination of the communication and must therefore, if the packet is uncorrupted, pass the received multicast packet to its associated end station for processing. If, on processing the packet, the end station concludes that the packet in question was not intended for it, it simply ignores it, but it has had to spend a certain amount of resources in processing the packet in the first place.
This means that all of the end stations in the network must have sufficient processing power to process and consider all of the multicast communications sent in the network. So long as there is not a high volume of multicast traffic on the network this does not cause particular problems and networks have been functioning in this way for some time.
However, with recent advances in video conferencing, video-on-demand and other technologies, the potential volume of multicast traffic on a computer network has considerably increased In a video conference between three or more end stations on a network, each of those end stations will be sending multicast communications intended to be received by the other end stations in the video conference and, due to the nature of video communication, this will generate a very high volume of multicast communication. Clearly, the end stations involved in the video conference will be designed to receive and process this high volume of multicast traffic. However, other end stations connected to the network which, in the above described scheme of operation, will all receive and have to process all of the multicast communications, may not have sufficient processing power to process and discard all of the multicast communications, and still be able to process their own communications via the network.
For this reason, it is desired to have a communications node for use in a network as described above which enables a high volume of multicast communications to occur within the network without necessitating an increase in the processing power available at end stations on the network which are not part of the multicast communications.